package Java实训.第七天字符流;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Tast5 {
    /*
      Task5输入一个路径，如果不存在则返回
      如果路径存在则读取该文件夹下所有文件，将 文件名，文件大小（字节），最后修改时间，写到一个readMe.log文件里，
      比如说 f:\logs 下有3个文件夹，执行完程序，每个文件夹下都有一个readMe.log文件，文件内记录该文件夹下每个文件的 文件名，文件大小（字节），最后修改时间
      readMe.log中记录当前目录所有文件的以下信息：例如
      *****************程序运行时间：2018-01-01 09:08:34
      *****文件名：2.txt
      文件大小：3字节
      最后修改日期：2017/11/29 13:23:26
      *****************程序运行时间：2018-01-01 09:08:34
      *****文件名：3.txt
      文件大小：3字节
      最后修改日期：2018/11/29 13:23:26
      */
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个目录");
        File file = new File(sc.next());
        find(file);
    }
    public static void find(File file) throws IOException {
        File[] f1 = file.listFiles();
        for (File f2 : f1) {
            if (f2.isFile()){
                String str = "readMe.log";
                File f = new File(file, str);
                FileWriter fw = new FileWriter(f, true);
                Date date = new Date();
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String format = sdf.format(date);
                fw.write("*****************程序运行时间：" + format);
                fw.write("\n");
                fw.write("*****文件名：" + f2.getName());
                fw.write("\n");
                fw.write("文件大小：" + f2.length() + "字节");
                fw.write("\n");
                SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                String format1 = sdf1.format(f2.lastModified());
                fw.write("最后修改日期：" + format1);
                fw.write("\n");
                fw.close();
            }else {
                find(f2);
            }
        }

    }
}
